(define cyl-deli-list (list #\space #\newline #\tab #\， #\。 #\： #\；))
(define cyl-all-deli-list (append cyl-deli-list (list #\[ #\] #\( #\) #\@ #\&)))
(define cyl-atexp-deli-list (append cyl-all-deli-list (list #\、)))
(define y-deli "[*]")
(define scm-deli "【*】")
(define sys-nil '(sys 0))
(define cyl-loc 0)
(define cyl-current-define-function-name #f)
(define cyl-current-func-type #f)
(define 编译期正在定义函数名 #f)
(define cyl-undefined-symbol-list '())
(define cyl-error-warning-list '())
(define cyl-current-macro '())
(define cyl-adverb-value #f)
(define cyl-sexp-guide #f)
(define cyl-sexp-guide-list '())
(define cyl-key-travel2 #f)
(define cyl-key-symbol #f)
(define cyl-macro-reg #f)
;;(define cyl-lisp-process/flag #f)      ;;#t for lisp sexp handling and #f for not.
(define cyl-define-status 'top-level)  ;;it has 2 status:top-level and func-define.
(define cyl-sexp-flag #f)   ;;#t for lisp sexp handling and #f for not.
(define cyl-func-tree-list '())
(define cyl-at-define-list '())
(define cyl-tran-macro-func #f)
(define cyl-reg-list '())
(define cyl-alias-list '())
(define cyl-alias-file-list '())
(define cyl-load-file-list '())
(define cyl-local-load-file-list '())
(define cyl-home-directory "/home/y")
(define cyl-line-begin #t)
(define cyl-alias-reverse-name-flag #f)
(define cyl-current-project-name #f)

;;definition constant for special character coding
(define cyl-std-deli "\\s")
(define cyl-std-func-define-deli "\\n\\t")
(define cyl-std-func-end-deli "\\n")
(define deli-std-coding '(sys 10))
(define deli-return-coding '(sys 11))
(define deli-return-tab-coding '(sys 12))
(define deli-stop-coding '(sys 13))
(define s-exp-begin-coding '(sys 1))
(define s-exp-end-coding '(sys 2))
(define s-exp-backquote-coding '(sys 3))
(define s-exp-quote-coding '(sys 4))
(define s-exp-unquote-coding '(sys 5))
(define s-exp-at-coding '(sys 6))
(define cyl-at-coding '(sys 7))
(define cyl-rest-coding '(sys 8))
(define cyl-par-beg-coding '(sys 20))
(define cyl-par-end-coding '(sys 21))
(define cyl-atat-coding '(sys 22))
(define cyl-atand-coding '(sys 23))
(define cyl-andat-coding '(sys 24))
(define cyl-andand-coding '(sys 25))

;;definition read function for diffrent signature for cylisp(as for lisp) below
(define (rd-s-guide-sign c) (or (char=? c #\')(char=? c #\`)(char=? c #\,)))
(define (rd-str-mark c) (char=? c #\"))
(define (rd-at-mark c) (char=? c #\@))
(define (rd-and-mark c) (char=? c #\&))
(define (rd-pound c) (char=? c #\#))
(define (rd-p-deli c)(or (char=? c #\space)(char=? c #\newline)(char=? c #\tab) (char=? c #\。)(char=? c #\：)(char=? c #\，)(char=? c #\；)))
(define (rd-r-deli c)(or (char=? c #\space)(char=? c #\tab) (char=? c #\。)(char=? c #\：)(char=? c #\，)(char=? c #\；)))
(define (rd-deli c)
  (or (char=? c #\space)(char=? c #\newline)(char=? c #\tab)))
(define (rd-digit c)
  (and (char>=? c #\0)(char<=? c #\9)))
(define (rd-s-beg c)(char=? c #\())
(define (rd-s-end c)(char=? c #\)))
(define (rd-y-beg c)(char=? c #\[))
(define (rd-y-end c)(char=? c #\]))
(define (rd-分隔符 c)
  (or (char=? c #\。)(char=? c #\，)(char=? c #\；)(char=? c #\：)))
(define (rd-at-deli c) (or (rd-deli c)(rd-分隔符 c)(char=? c #\])(char=? c #\))))
(define (rd-and-deli c) (or (rd-deli c)(rd-分隔符 c)(char=? c #\])(char=? c #\))))
(define (rd-all-deli c)
  (or (rd-deli c)(rd-分隔符 c)(rd-s-beg c)(rd-s-end c)(rd-y-beg c)(rd-y-end c)(rd-at-mark c)(rd-and-mark c)))
(define (rd-quote c) (char=? c #\'))
(define (rd-unquote c) (char=? c #\,))
(define (rd-backquote c) (char=? c #\`))
